subroutine interleave8(idat,jdat)

  integer idat(66),jdat(66)
  integer ii(66),jj(66)
  data ii/                                                            &
       64,32,16,48, 8,40,24,56, 4,36,20,52,12,44,28,60, 2,66,34,18,   &
       50,10,42,26,58, 6,38,22,54,14,46,30,62, 1,65,33,17,49, 9,41,   &
       25,57, 5,37,21,53,13,45,29,61, 3,35,19,51,11,43,27,59, 7,39,   &
       23,55,15,47,31,63/
  data jj/                                                            &
       34,17,51, 9,43,26,59, 5,39,22,55,13,47,30,63, 3,37,20,53,11,   &
       45,28,61, 7,41,24,57,15,49,32,65, 2,36,19,52,10,44,27,60, 6,   &
       40,23,56,14,48,31,64, 4,38,21,54,12,46,29,62, 8,42,25,58,16,   &
       50,33,66, 1,35,18/

  return
end subroutine interleave8
